﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using L4View.BusinessModel;

namespace L4View.PresentationLayer
{
    public enum SpyLogViewCommands
    {
        FirstPage,
        LastPage,
        PrevPage,
        NextPage,
        MoveToPage,
        ChangePageSize,
        SortBy
    }

    public class SpyLogViewEventArgs : EventArgs
    {
        public SpyLogViewEventArgs(SpyLogViewCommands command, object argument)
        {
            Command = command;
            Argument = argument;
        }

        public SpyLogViewCommands Command { get; private set; }

        public object Argument { get; private set; }
    }

    public interface ISpyLogView
    {
        ICollection<ILogMessage> Messages { get; set; }

        ICollection<ListItem> PageSizes { get; set; }

        int CurrentPageNumber { get; set; }

        int PageCount { get;  set; }

        int PageSize { get; set; }

        event EventHandler StartMonitoring;
        
        event EventHandler StopMonitoring;

        event EventHandler<SpyLogViewEventArgs> Command;

    }
}
